<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of FluxogramaDAO
 *
 * @author Administrador
 */

require_once 'DAO.php';
require_once '../TO/Fluxograma.php';

class FluxogramaDAO extends DAO{
    //put your code here
    /**
     * Grava um fluxograma nobanco de dados
     * @param Fluxograma $objFluxograma
     * @return o número de id da inserção
     */
     public function inserir(Fluxograma $objFluxograma){
		$this->execute("INSERT INTO fluxograma (nome,visualizacoes ,comentarios ,descricao ,execucao,dtcriacao,ativo,idusuario ) VALUES (?,?,?,?,?,?,?,?)",
                        array($objFluxograma->getNome(),$objFluxograma->getVisualizacoes(),$objFluxograma->getComentarios(),$objFluxograma->getDescricao(),$objFluxograma->getExecucao(),$objFluxograma->getDataCriacao(),$objFluxograma->getAtivo(),$objFluxograma->getIdUsuario()));
               return $this->getId('idfluxograma'); // Nome da sequencia gerado no BD. O default eh [nometabela]_[nomecoluna]_seq
	}	
	/**
         * Altera dados de um fluxograma
         * @param Fluxograma $objFluxograma 
         */
	public function alterar(Fluxograma $objFluxograma){
	    $this->execute("UPDATE fluxograma SET visualizacoes=? ,comentarios=? ,descricao=? ,execucao=?,nome=? WHERE fluxograma= ?",
                    array($objFluxograma->getVisualizacoes(),$objFluxograma->getComentarios(),$objFluxograma->getDescricao(),$objFluxograma->getExecucao(),$objFluxograma->getNome()));
	}
    /**
     * Método utilizado para excluir um fluxograma (exclusão lógica)
     * @param Fluxograma $objFluxograma 
     */
    public function excluir(Fluxograma $objFluxograma){
	$this->exec("UPDATE fluxograma SET ativo=? WHERE idfluxograma = ?",array(false,$objFluxograma->getId()));
    }
    /**
     * Lista os fluxogramas mais visualizados 
     * @return type 
     */
    public function maisVisualizados(){
        $result=  $this->get("SELECT idfluxograma,visualizacoes FROM fluxograma ORDER BY DESC WHERE ativo=?",array(true));
        return $result;
    }
    
    
}

?>